package string;

import java.util.Arrays;

/**
 * String[] split(String regex)
 * 将当前字符串按照满足正则表达式的部分进行拆分，将拆分后的各部分以一个数组形式返回
 * @author 范传奇
 *
 */
public class SplitDemo {
	public static void main(String[] args) {
		String str = "abc123def456ghi";
		//将当前字符串按照数字部分拆分
		String[] arr = str.split("[0-9]+");
		System.out.println(arr.length);
		System.out.println(Arrays.toString(arr));
		
		
		str = "abc,def,ghi,lmn";
		arr = str.split(",");
		System.out.println(arr.length);//4
		System.out.println(Arrays.toString(arr));
		
		//按照"."拆分
		str = "aaa.bbb.ccc.ddd";
		arr = str.split("\\.");//"."在这则表达式中表示任意字符，因此要转义
		System.out.println(arr.length);
		System.out.println(Arrays.toString(arr));
		/*
		 * 如果字符串一开始就匹配到了拆分项时，左侧会拆分出一个空字符串。
		 * 如果连续匹配上两次拆分项时，中间会拆分出一个空字符串
		 */
		str = ",aaa,,,bbb,ccc";
		arr = str.split(",");
		System.out.println(arr.length);
		System.out.println(Arrays.toString(arr));
		/*
		 * 如果是在字符串末尾连续匹配拆分项，那么所有拆分出来的空字符串都忽略
		 */
		str = ",aaa,,,bbb,ccc,,,,,,,,,,,,,,,,";
		arr = str.split(",");
		System.out.println(arr.length);
		System.out.println(Arrays.toString(arr));
	}
}









